/**
 * 统一弹出框效果，如果以后要更换弹出效果或弹出层框架，直接在这里该之后就可以生效。
 * 使用举例：
 * 普通提示：Dialog.alert("普通提示");
 * 失败提示：Dialog.danger("普通提示");
 * @constructor
 */
var Dialog = function () {

    toastr.options = {
        "closeButton": true,
        "debug": false,
        "progressBar": true,
        "positionClass": "toast-top-center",
        "showDuration": "400",
        "hideDuration": "1000",
        "timeOut": "7000",
        "extendedTimeOut": "1000",
        "showEasing": "swing",
        "hideEasing": "linear",
        "showMethod": "fadeIn",
        "hideMethod": "fadeOut"
    }

    /**
     * 成功提示
     * @param msg
     */
    function success(msg) {
        window.top.toastr.success(msg,"系统提示");
    }

    /**
     * 错误提示
     * @param msg
     */
    function danger(msg) {
        window.top.toastr.error(msg,"系统提示");
    }

    /**
     * 警告提示
     * @param msg
     */
    function warning(msg) {
        window.top.toastr.warning(msg,"系统提示");
    }

    /**
     * 一般提示
     * @param msg
     */
    function alert(msg) {
        window.top.toastr.info(msg,"系统提示");
    }

    /**
     * if (isConfirm) {
        swal("删除", "您的虚构文件已被删除.", "success");
    } else {
        swal("取消", "你的虚构文件是安全的:)", "error");
    }
     * @param msg
     * @param fun
     */
    function confirm(msg, fun) {
        if ($.isFunction(fun)){
            window.top.swal({
                title: "你确定？",
                text: msg,
                type: "warning",
                showCancelButton: true,
                confirmButtonColor: "#DD6B55",
                confirmButtonText: "删除",
                cancelButtonText: "取消",
                closeOnConfirm: false,
                closeOnCancel: false
                },
            fun);
        }
    }

    /**
     *
     * @param msg 标题
     * @param value 如果传递该项，则表示有默认的值。
     * @param fun 回调函数
     */
    function prompt(msg, fun) {
        if ($.isFunction(fun)){
            window.top.swal({
                title: "确认？",
                text: msg,
                type: "prompt",
                showCancelButton: true,
                confirmButtonColor: "#DD6B55",
                confirmButtonText: "确认",
                cancelButtonText: "取消",
                closeOnConfirm: false,
                closeOnCancel: false,
                buttons:[],
            },
            fun)
        }
    }
    return {
        alert: alert,
        success: success,
        danger: danger,
        warning: warning,
        confirm: confirm,
        prompt: prompt,
    }
}();
